package com.xique.park.command.handler.base;

import com.xique.common.core.web.domain.AjaxResult;
import org.springframework.web.multipart.MultipartFile;

/**
 * 设备命令服务接口
 *
 * @author WLD
 */
public interface Command {

    /**
     * 获取命令服务名
     *
     * @return 命令服务名
     */
    String getServiceName();

    /**
     * 获取版本号
     *
     * @return 版本号
     */
    String getVersion();

    /**
     * 下发命令
     *
     * @param parkId 车场ID
     * @param sn     设备号
     * @param cmd    命令
     * @return 发送结果
     */
    AjaxResult issue(Long parkId, String sn, String cmd);

    /**
     * 下发命令
     *
     * @param parkId     车场ID
     * @param laneId     通道ID
     * @param mngTypeIds 管理类型ID，多个以 , 分隔
     * @param sn         设备号
     * @param file       文件
     * @param fileName   文件名称
     * @param cmd        命令
     * @return 发送结果
     */
    AjaxResult issue(Long parkId, Long laneId, String mngTypeIds, String sn, MultipartFile file, String fileName, String cmd);

}
